This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
The following commit(s) were added to refs/heads/master by this push:
new 2fd3d45515 Align tinker-dev skill references and add stale-skill
cleanup to agent-setup.sh
2fd3d45515 is described below
commit 2fd3d45515437f669fae135309eca3a6d7d807ad
Author: Stephen Mallette <[email protected]>
AuthorDate: Tue Jun 16 08:39:02 2026 -0400
Align tinker-dev skill references and add stale-skill cleanup to
agent-setup.sh
Finish the tinkerpop-dev -> tinker-dev rename by updating the remaining
text references in AGENTS.md, the developer docs, and the skill's own
setup script/reference.
agent-setup.sh now purges "tinker*" entries from each agent's skill
directory before (re)creating the current skills, so renamed or removed
skills (e.g. an old tinkerpop-dev symlink or kiro copy) are cleaned up.
Non-tinker* custom skills are left untouched. Applies to both the
symlink-based agents and the copy-based kiro path.
Assisted-by: Claude Code:claude-opus-4-8
---
.../tinker-dev/references/dev-environment-setup.md | 2 +-
.skills/tinker-dev/scripts/check-env.sh | 2 +-
AGENTS.md | 2 +-
bin/agent-setup.sh | 34 ++++++++++++++++++++--
.../dev/developer/development-environment.asciidoc | 2 +-
docs/src/dev/developer/for-committers.asciidoc | 6 ++--
6 files changed, 38 insertions(+), 10 deletions(-)
diff --git a/.skills/tinker-dev/references/dev-environment-setup.md
b/.skills/tinker-dev/references/dev-environment-setup.md
index 1d7b64cb83..5ae0faa5c7 100644
--- a/.skills/tinker-dev/references/dev-environment-setup.md
+++ b/.skills/tinker-dev/references/dev-environment-setup.md
@@ -50,7 +50,7 @@ GLV builds and many integration tests will be skipped.
Run the included check script to verify your setup:
```bash
-bash .skills/tinkerpop-dev/scripts/check-env.sh
+bash .skills/tinker-dev/scripts/check-env.sh
```
This checks for Java, Maven, Docker, and optionally Python, Node.js, .NET, and
Go.
diff --git a/.skills/tinker-dev/scripts/check-env.sh
b/.skills/tinker-dev/scripts/check-env.sh
index a39fe3bc08..ebe8db1cd8 100755
--- a/.skills/tinker-dev/scripts/check-env.sh
+++ b/.skills/tinker-dev/scripts/check-env.sh
@@ -19,7 +19,7 @@
#
# Verify TinkerPop development environment prerequisites.
-# Usage: bash .skills/tinkerpop-dev/scripts/check-env.sh
+# Usage: bash .skills/tinker-dev/scripts/check-env.sh
set -uo pipefail
diff --git a/AGENTS.md b/AGENTS.md
index 9695bfbf86..88e0decf99 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -6,7 +6,7 @@ maintain, and validate Apache TinkerPop's graph computing
framework and its mult
## Primary Guidance: Agent Skills
This repository provides development guidance as an [Agent
Skill](https://agentskills.io) named
-`tinkerpop-dev`. If your tool supports Agent Skills, **activate that skill**
for detailed,
+`tinker-dev`. If your tool supports Agent Skills, **activate that skill** for
detailed,
task-specific instructions covering build recipes, test evaluation, coding
conventions, and
reference material for each Gremlin Language Variant.
diff --git a/bin/agent-setup.sh b/bin/agent-setup.sh
index b7339c100d..33b19d57cd 100755
--- a/bin/agent-setup.sh
+++ b/bin/agent-setup.sh
@@ -75,6 +75,30 @@ if [[ ! -d ".skills/tinker-dev" ]]; then
exit 1
fi
+# Remove TinkerPop skill entries (symlinks or copies) from a tool's skill
+# directory before the current ones are (re)created. Matching only "tinker*"
+# keeps any custom skills the user maintains intact. Entries for skills that no
+# longer exist (e.g. a renamed "tinkerpop-dev") are reported as stale removals;
+# current skills are cleared silently so the setup step can recreate them
+# cleanly — this also fixes symlinks whose relative target path has changed.
+purge_tinker_skills() {
+ local target_dir="$1"
+ [[ -d "$target_dir" ]] || return 0
+
+ local entry name skill is_current
+ for entry in "$target_dir"/tinker*; do
+ # If the glob matched nothing it stays literal — skip non-existent
paths.
+ [[ -e "$entry" || -L "$entry" ]] || continue
+ name=$(basename "$entry")
+ is_current=0
+ for skill in "${SKILLS[@]}"; do
+ [[ "$name" == "$skill" ]] && is_current=1 && break
+ done
+ rm -rf "$entry"
+ [[ "$is_current" -eq 0 ]] && skip "removed stale skill
$target_dir/$name"
+ done
+}
+
# Create a symlink from a tool's skill directory to our canonical skill
setup_symlink() {
local tool_name="$1"
@@ -114,11 +138,9 @@ setup_symlink() {
# instead. See: https://github.com/kirodotdev/Kiro/issues (symlink support).
setup_kiro() {
mkdir -p ".kiro/skills"
+ purge_tinker_skills ".kiro/skills"
for skill_name in "${SKILLS[@]}"; do
local target_dir=".kiro/skills/$skill_name"
- if [[ -d "$target_dir" ]]; then
- rm -rf "$target_dir"
- fi
cp -r ".skills/$skill_name" "$target_dir"
ok "kiro: copied $skill_name to $target_dir"
done
@@ -131,27 +153,33 @@ setup_agent() {
local agent="$1"
case "$agent" in
claude)
+ purge_tinker_skills ".claude/skills"
for skill in "${SKILLS[@]}"; do
setup_symlink "claude" ".claude/skills" "$skill"
done
;;
copilot)
+ purge_tinker_skills ".github/skills"
+ purge_tinker_skills ".agents/skills"
for skill in "${SKILLS[@]}"; do
setup_symlink "copilot (.github)" ".github/skills" "$skill"
setup_symlink "copilot (.agents)" ".agents/skills" "$skill"
done
;;
cursor)
+ purge_tinker_skills ".cursor/skills"
for skill in "${SKILLS[@]}"; do
setup_symlink "cursor" ".cursor/skills" "$skill"
done
;;
codex)
+ purge_tinker_skills ".codex/skills"
for skill in "${SKILLS[@]}"; do
setup_symlink "codex" ".codex/skills" "$skill"
done
;;
junie)
+ purge_tinker_skills ".junie/skills"
for skill in "${SKILLS[@]}"; do
setup_symlink "junie" ".junie/skills" "$skill"
done
diff --git a/docs/src/dev/developer/development-environment.asciidoc
b/docs/src/dev/developer/development-environment.asciidoc
index 6b3695580c..62b431039f 100644
--- a/docs/src/dev/developer/development-environment.asciidoc
+++ b/docs/src/dev/developer/development-environment.asciidoc
@@ -453,7 +453,7 @@ while also supporting
=== Agent Skills
-TinkerPop provides development guidance as an
link:https://agentskills.io[Agent Skill] in `.skills/tinkerpop-dev/`.
+TinkerPop provides development guidance as an
link:https://agentskills.io[Agent Skill] in `.skills/tinker-dev/`.
The skill follows the open Agent Skills standard and includes:
* Project conventions, coding standards, and agent guardrails (in `SKILL.md`)
diff --git a/docs/src/dev/developer/for-committers.asciidoc
b/docs/src/dev/developer/for-committers.asciidoc
index bc38718fea..7340f3c12e 100644
--- a/docs/src/dev/developer/for-committers.asciidoc
+++ b/docs/src/dev/developer/for-committers.asciidoc
@@ -1077,7 +1077,7 @@ the graph of decisions visible across contributors and
sessions.
=== Workflow
Because beads usage is optional, the agent does not load beads context
automatically. Once the
-`tinkerpop-dev` skill is active, the committer opts in by telling the agent to
use beads:
+`tinker-dev` skill is active, the committer opts in by telling the agent to
use beads:
----
Use beads.
@@ -1090,7 +1090,7 @@ the committer does not give this instruction will proceed
without beads involvem
From the committer's perspective this means:
-* *At session start* — invoke the `tinkerpop-dev` skill, then say "Use beads"
to opt in.
+* *At session start* — invoke the `tinker-dev` skill, then say "Use beads" to
opt in.
The agent will check for available work and propose a plan using beads.
* *During work* — the agent creates and updates beads as it goes. The
committer reviews and
guides this, the same way they review the code changes themselves.
@@ -1125,5 +1125,5 @@ bin/beads-bootstrap.sh
----
This requires `bd` and `dolt` to be installed and valid DoltHub credentials
(`dolt login`).
-Full workflow guidance for AI agents is in
`.claude/skills/tinkerpop-dev/references/beads-workflow.md`.
+Full workflow guidance for AI agents is in
`.claude/skills/tinker-dev/references/beads-workflow.md`.