@assistkick/create 1.0.1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/scaffolder.d.ts +6 -1
- package/dist/src/scaffolder.js +20 -9
- package/dist/src/scaffolder.js.map +1 -1
- package/package.json +3 -2
- package/templates/{product-system → assistkick-product-system}/CLAUDE.md +4 -4
- package/templates/{product-system → assistkick-product-system}/package.json +5 -5
- package/templates/{product-system → assistkick-product-system}/packages/backend/package.json +2 -2
- package/templates/{product-system → assistkick-product-system}/packages/backend/src/routes/auth.ts +1 -1
- package/templates/{product-system → assistkick-product-system}/packages/backend/src/routes/coherence.ts +1 -1
- package/templates/assistkick-product-system/packages/backend/src/routes/git.ts +231 -0
- package/templates/{product-system → assistkick-product-system}/packages/backend/src/routes/graph.ts +3 -3
- package/templates/{product-system → assistkick-product-system}/packages/backend/src/routes/kanban.ts +6 -6
- package/templates/assistkick-product-system/packages/backend/src/routes/pipeline.ts +88 -0
- package/templates/assistkick-product-system/packages/backend/src/routes/terminal.ts +82 -0
- package/templates/{product-system → assistkick-product-system}/packages/backend/src/server.ts +23 -10
- package/templates/{product-system → assistkick-product-system}/packages/backend/src/services/coherence-review.ts +4 -4
- package/templates/assistkick-product-system/packages/backend/src/services/github_app_service.ts +146 -0
- package/templates/assistkick-product-system/packages/backend/src/services/init.ts +147 -0
- package/templates/{product-system → assistkick-product-system}/packages/backend/src/services/invitation_service.ts +1 -1
- package/templates/{product-system → assistkick-product-system}/packages/backend/src/services/password_reset_service.ts +1 -1
- package/templates/{product-system → assistkick-product-system}/packages/backend/src/services/project_service.ts +72 -1
- package/templates/assistkick-product-system/packages/backend/src/services/project_workspace_service.test.ts +87 -0
- package/templates/assistkick-product-system/packages/backend/src/services/project_workspace_service.ts +194 -0
- package/templates/assistkick-product-system/packages/backend/src/services/pty_session_manager.test.ts +159 -0
- package/templates/{product-system → assistkick-product-system}/packages/backend/src/services/pty_session_manager.ts +114 -39
- package/templates/{product-system → assistkick-product-system}/packages/backend/src/services/terminal_ws_handler.ts +28 -14
- package/templates/{product-system → assistkick-product-system}/packages/backend/src/services/user_management_service.ts +1 -1
- package/templates/{product-system → assistkick-product-system}/packages/frontend/package.json +1 -1
- package/templates/{product-system → assistkick-product-system}/packages/frontend/src/App.tsx +1 -1
- package/templates/{product-system → assistkick-product-system}/packages/frontend/src/api/client.ts +151 -0
- package/templates/assistkick-product-system/packages/frontend/src/components/GitRepoModal.tsx +352 -0
- package/templates/{product-system → assistkick-product-system}/packages/frontend/src/components/KanbanView.tsx +208 -95
- package/templates/{product-system → assistkick-product-system}/packages/frontend/src/components/ProjectSelector.tsx +17 -1
- package/templates/assistkick-product-system/packages/frontend/src/components/TerminalView.tsx +333 -0
- package/templates/{product-system → assistkick-product-system}/packages/frontend/src/components/Toolbar.tsx +15 -13
- package/templates/{product-system → assistkick-product-system}/packages/frontend/src/constants/graph.ts +1 -0
- package/templates/{product-system → assistkick-product-system}/packages/frontend/src/hooks/useProjects.ts +4 -0
- package/templates/{product-system → assistkick-product-system}/packages/frontend/src/routes/dashboard.tsx +22 -4
- package/templates/{product-system → assistkick-product-system}/packages/frontend/src/styles/index.css +486 -38
- package/templates/assistkick-product-system/packages/frontend/vite.config.ts +31 -0
- package/templates/assistkick-product-system/packages/shared/db/migrations/0001_vengeful_wallop.sql +1 -0
- package/templates/assistkick-product-system/packages/shared/db/migrations/0002_greedy_excalibur.sql +4 -0
- package/templates/assistkick-product-system/packages/shared/db/migrations/meta/0001_snapshot.json +826 -0
- package/templates/assistkick-product-system/packages/shared/db/migrations/meta/0002_snapshot.json +854 -0
- package/templates/assistkick-product-system/packages/shared/db/migrations/meta/_journal.json +27 -0
- package/templates/{product-system → assistkick-product-system}/packages/shared/db/schema.ts +5 -0
- package/templates/{product-system → assistkick-product-system}/packages/shared/lib/claude-service.ts +54 -1
- package/templates/{product-system → assistkick-product-system}/packages/shared/lib/db.ts +1 -1
- package/templates/{product-system → assistkick-product-system}/packages/shared/lib/git_workflow.ts +25 -0
- package/templates/{product-system → assistkick-product-system}/packages/shared/lib/pipeline-state-store.ts +4 -0
- package/templates/{product-system → assistkick-product-system}/packages/shared/lib/pipeline.ts +329 -89
- package/templates/assistkick-product-system/packages/shared/lib/pipeline_orchestrator.ts +186 -0
- package/templates/{product-system → assistkick-product-system}/packages/shared/lib/prompt_builder.ts +2 -2
- package/templates/{product-system → assistkick-product-system}/packages/shared/package.json +1 -1
- package/templates/assistkick-product-system/packages/shared/tools/db_explorer.ts +275 -0
- package/templates/{product-system → assistkick-product-system}/packages/shared/tools/get_kanban.ts +2 -1
- package/templates/{product-system → assistkick-product-system}/packages/shared/tools/move_card.ts +3 -2
- package/templates/{product-system → assistkick-product-system}/packages/shared/tools/update_node.ts +2 -2
- package/templates/{product-system → assistkick-product-system}/tests/db_sqlite_fallback.test.ts +1 -1
- package/templates/{product-system → assistkick-product-system}/tests/kanban.test.ts +1 -1
- package/templates/{product-system → assistkick-product-system}/tests/pipeline_stats_all_cards.test.ts +1 -1
- package/templates/{product-system → assistkick-product-system}/tests/web_terminal.test.ts +189 -150
- package/templates/skills/{product-bootstrap → assistkick-bootstrap}/SKILL.md +36 -28
- package/templates/skills/{product-code-reviewer → assistkick-code-reviewer}/SKILL.md +26 -18
- package/templates/skills/assistkick-db-explorer/SKILL.md +86 -0
- package/templates/skills/{product-debugger → assistkick-debugger}/SKILL.md +35 -27
- package/templates/skills/{product-developer → assistkick-developer}/SKILL.md +40 -32
- package/templates/skills/{product-interview → assistkick-interview}/SKILL.md +37 -29
- package/templates/product-system/packages/backend/src/routes/pipeline.ts +0 -41
- package/templates/product-system/packages/backend/src/services/init.ts +0 -80
- package/templates/product-system/packages/backend/src/services/pty_session_manager.test.ts +0 -88
- package/templates/product-system/packages/frontend/src/components/TerminalView.tsx +0 -200
- package/templates/product-system/packages/frontend/vite.config.ts +0 -20
- package/templates/product-system/packages/shared/db/migrations/meta/_journal.json +0 -13
- /package/templates/{product-system → assistkick-product-system}/.env.example +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/backend/src/middleware/auth_middleware.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/backend/src/middleware/auth_middleware.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/backend/src/routes/projects.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/backend/src/routes/users.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/backend/src/services/auth_service.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/backend/src/services/auth_service.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/backend/src/services/email_service.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/backend/src/services/invitation_service.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/backend/src/services/password_reset_service.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/backend/src/services/project_service.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/backend/src/services/user_management_service.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/backend/tsconfig.json +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/index.html +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/package-lock.json +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/public/favicon.svg +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/api/client_projects.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/api/client_refresh.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/components/CoherenceView.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/components/GraphLegend.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/components/GraphSettings.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/components/GraphView.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/components/InviteUserDialog.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/components/LoginPage.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/components/QaIssueSheet.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/components/SidePanel.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/components/UsersView.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/hooks/useAuth.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/hooks/useGraph.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/hooks/useKanban.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/hooks/useTheme.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/hooks/useToast.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/hooks/use_projects_logic.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/main.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/pages/accept_invitation_page.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/pages/forgot_password_page.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/pages/register_page.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/pages/reset_password_page.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/routes/ProtectedRoute.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/routes/accept_invitation.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/routes/forgot_password.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/routes/login.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/routes/register.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/routes/reset_password.tsx +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/utils/auth_validation.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/utils/auth_validation.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/utils/login_validation.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/utils/login_validation.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/utils/logout.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/utils/node_sizing.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/utils/node_sizing.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/utils/task_status.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/src/utils/task_status.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/frontend/tsconfig.json +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/.env.example +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/README.md +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/db/migrate.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/db/migrations/0000_dashing_gorgon.sql +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/db/migrations/meta/0000_snapshot.json +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/drizzle.config.js +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/lib/coherence.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/lib/completeness.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/lib/constants.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/lib/graph.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/lib/kanban.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/lib/markdown.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/lib/relevance_search.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/lib/session.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/lib/validator.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/lib/work_summary_parser.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/scripts/assign-project.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/tools/add_edge.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/tools/add_node.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/tools/end_session.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/tools/get_gaps.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/tools/get_node.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/tools/get_status.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/tools/migrate_to_turso.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/tools/rebuild_index.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/tools/remove_edge.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/tools/remove_node.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/tools/resolve_question.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/tools/search_nodes.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/tools/start_session.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/packages/shared/tsconfig.json +0 -0
- /package/templates/{product-system → assistkick-product-system}/pnpm-workspace.yaml +0 -0
- /package/templates/{product-system → assistkick-product-system}/smoke_test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/coherence_review.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/edge_type_color_coding.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/emit-tool-use-events.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/feature_kind.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/gap_indicators.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/graceful_init.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/graph_legend.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/graph_settings_sheet.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/hide_defined_filter.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/neighborhood_focus.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/node_search.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/node_sizing.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/node_type_toggle_filters.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/node_type_visual_encoding.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/pipeline-state-store.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/pipeline-unit.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/pipeline.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/play_all.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/qa_issue_sheet.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/relevance_search.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/search_reorder.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/serve_ui.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/serve_ui_drizzle.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/session_context_recall.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/side_panel.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/spec_completeness_label.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/url_routing_test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/user_login.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/user_registration.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/work_summary.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tests/zoom_pan.test.ts +0 -0
- /package/templates/{product-system → assistkick-product-system}/tsconfig.json +0 -0
- /package/templates/skills/{product-debugger → assistkick-debugger}/references/agent-browser.md +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: assistkick-bootstrap
|
|
3
3
|
description: Bootstrap the product knowledge graph for an existing project by scanning the codebase and interviewing the user. Use when the user wants to onboard a project, bootstrap the graph, initialize the product system, or bring the knowledge graph up to speed for an existing codebase.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -12,7 +12,7 @@ Your goal is to rapidly build a well-connected specification graph by
|
|
|
12
12
|
priorities, and preferences**. You interact with the graph exclusively
|
|
13
13
|
through the tools below.
|
|
14
14
|
|
|
15
|
-
All tools live in `product-system/packages/shared/tools/` and
|
|
15
|
+
All tools live in `assistkick-product-system/packages/shared/tools/` and
|
|
16
16
|
are run with `npx tsx`.
|
|
17
17
|
|
|
18
18
|
## Bootstrap Philosophy
|
|
@@ -181,37 +181,45 @@ from the features they apply to.
|
|
|
181
181
|
3. Call `end_session` with a summary
|
|
182
182
|
4. Tell the user which phase to resume at next session
|
|
183
183
|
|
|
184
|
+
## Project ID
|
|
185
|
+
|
|
186
|
+
All tools require `--project-id <project_id>`. Resolve it at session start:
|
|
187
|
+
- If the user passed a project ID in the invocation arguments → use it directly
|
|
188
|
+
- Otherwise → ask the user: "Which project ID should I use?"
|
|
189
|
+
|
|
190
|
+
Use the same `<project_id>` on **every** tool call in this session.
|
|
191
|
+
|
|
184
192
|
## Tool Reference
|
|
185
193
|
|
|
186
194
|
### start_session
|
|
187
195
|
```
|
|
188
|
-
npx tsx packages/shared/tools/start_session.ts
|
|
196
|
+
npx tsx packages/shared/tools/start_session.ts --project-id <project_id>
|
|
189
197
|
```
|
|
190
198
|
|
|
191
199
|
### end_session
|
|
192
200
|
```
|
|
193
|
-
npx tsx packages/shared/tools/end_session.ts --summary "..." --nodes-touched "feat_001,dec_001" --questions-resolved 3
|
|
201
|
+
npx tsx packages/shared/tools/end_session.ts --project-id <project_id> --summary "..." --nodes-touched "feat_001,dec_001" --questions-resolved 3
|
|
194
202
|
```
|
|
195
203
|
|
|
196
204
|
### search_nodes
|
|
197
205
|
```
|
|
198
|
-
npx tsx packages/shared/tools/search_nodes.ts --query "keyword"
|
|
199
|
-
npx tsx packages/shared/tools/search_nodes.ts --type feature
|
|
200
|
-
npx tsx packages/shared/tools/search_nodes.ts --has-open-questions
|
|
201
|
-
npx tsx packages/shared/tools/search_nodes.ts --completeness-below 0.5
|
|
206
|
+
npx tsx packages/shared/tools/search_nodes.ts --project-id <project_id> --query "keyword"
|
|
207
|
+
npx tsx packages/shared/tools/search_nodes.ts --project-id <project_id> --type feature
|
|
208
|
+
npx tsx packages/shared/tools/search_nodes.ts --project-id <project_id> --has-open-questions
|
|
209
|
+
npx tsx packages/shared/tools/search_nodes.ts --project-id <project_id> --completeness-below 0.5
|
|
202
210
|
```
|
|
203
211
|
|
|
204
212
|
### get_node
|
|
205
213
|
```
|
|
206
|
-
npx tsx packages/shared/tools/get_node.ts <node_id>
|
|
207
|
-
npx tsx packages/shared/tools/get_node.ts --name "Node Name"
|
|
214
|
+
npx tsx packages/shared/tools/get_node.ts <node_id> --project-id <project_id>
|
|
215
|
+
npx tsx packages/shared/tools/get_node.ts --name "Node Name" --project-id <project_id>
|
|
208
216
|
```
|
|
209
217
|
Returns full .md content plus a Relations section listing all connected nodes
|
|
210
218
|
with direction, relation type, name, type, and status.
|
|
211
219
|
|
|
212
220
|
### add_node
|
|
213
221
|
```
|
|
214
|
-
npx tsx packages/shared/tools/add_node.ts --type <type> --name "Name" --description "..."
|
|
222
|
+
npx tsx packages/shared/tools/add_node.ts --project-id <project_id> --type <type> --name "Name" --description "..."
|
|
215
223
|
```
|
|
216
224
|
Valid types: feature, component, data_entity, decision, tech_choice,
|
|
217
225
|
non_functional_requirement, design_token, design_pattern, user_role,
|
|
@@ -219,23 +227,23 @@ flow, assumption, open_question
|
|
|
219
227
|
|
|
220
228
|
### update_node
|
|
221
229
|
```
|
|
222
|
-
npx tsx packages/shared/tools/update_node.ts <id> --add-acceptance-criteria "..."
|
|
223
|
-
npx tsx packages/shared/tools/update_node.ts <id> --add-open-question "..."
|
|
224
|
-
npx tsx packages/shared/tools/update_node.ts <id> --add-note "Session N: ..."
|
|
225
|
-
npx tsx packages/shared/tools/update_node.ts <id> --set-status <draft|partially_defined|defined>
|
|
226
|
-
npx tsx packages/shared/tools/update_node.ts <id> --set-priority <low|medium|high|blocking>
|
|
227
|
-
npx tsx packages/shared/tools/update_node.ts <id> --set-description "..."
|
|
228
|
-
npx tsx packages/shared/tools/update_node.ts <id> --set-section "SectionName=content"
|
|
230
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --add-acceptance-criteria "..."
|
|
231
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --add-open-question "..."
|
|
232
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --add-note "Session N: ..."
|
|
233
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --set-status <draft|partially_defined|defined>
|
|
234
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --set-priority <low|medium|high|blocking>
|
|
235
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --set-description "..."
|
|
236
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --set-section "SectionName=content"
|
|
229
237
|
```
|
|
230
238
|
|
|
231
239
|
### resolve_question
|
|
232
240
|
```
|
|
233
|
-
npx tsx packages/shared/tools/resolve_question.ts <id> --question "..." --answer "..."
|
|
241
|
+
npx tsx packages/shared/tools/resolve_question.ts <id> --project-id <project_id> --question "..." --answer "..."
|
|
234
242
|
```
|
|
235
243
|
|
|
236
244
|
### add_edge
|
|
237
245
|
```
|
|
238
|
-
npx tsx packages/shared/tools/add_edge.ts <from_id> <relation> <to_id>
|
|
246
|
+
npx tsx packages/shared/tools/add_edge.ts <from_id> <relation> <to_id> --project-id <project_id>
|
|
239
247
|
```
|
|
240
248
|
Valid relations: contains, depends_on, governed_by, constrained_by,
|
|
241
249
|
implemented_with, reads_writes, exposes, consumes, performed_by,
|
|
@@ -243,25 +251,25 @@ escalates_to, relates_to
|
|
|
243
251
|
|
|
244
252
|
### remove_edge
|
|
245
253
|
```
|
|
246
|
-
npx tsx packages/shared/tools/remove_edge.ts <from_id> <relation> <to_id>
|
|
254
|
+
npx tsx packages/shared/tools/remove_edge.ts <from_id> <relation> <to_id> --project-id <project_id>
|
|
247
255
|
```
|
|
248
256
|
|
|
249
257
|
### get_gaps
|
|
250
258
|
```
|
|
251
|
-
npx tsx packages/shared/tools/get_gaps.ts
|
|
252
|
-
npx tsx packages/shared/tools/get_gaps.ts --blocking-only
|
|
253
|
-
npx tsx packages/shared/tools/get_gaps.ts --type feature
|
|
259
|
+
npx tsx packages/shared/tools/get_gaps.ts --project-id <project_id>
|
|
260
|
+
npx tsx packages/shared/tools/get_gaps.ts --project-id <project_id> --blocking-only
|
|
261
|
+
npx tsx packages/shared/tools/get_gaps.ts --project-id <project_id> --type feature
|
|
254
262
|
```
|
|
255
263
|
|
|
256
264
|
### get_status
|
|
257
265
|
```
|
|
258
|
-
npx tsx packages/shared/tools/get_status.ts
|
|
266
|
+
npx tsx packages/shared/tools/get_status.ts --project-id <project_id>
|
|
259
267
|
```
|
|
260
268
|
|
|
261
269
|
### rebuild_index
|
|
262
270
|
```
|
|
263
|
-
npx tsx packages/shared/tools/rebuild_index.ts
|
|
264
|
-
npx tsx packages/shared/tools/rebuild_index.ts --dry-run
|
|
271
|
+
npx tsx packages/shared/tools/rebuild_index.ts --project-id <project_id>
|
|
272
|
+
npx tsx packages/shared/tools/rebuild_index.ts --project-id <project_id> --dry-run
|
|
265
273
|
```
|
|
266
274
|
|
|
267
275
|
## Search Strategy
|
|
@@ -300,7 +308,7 @@ The `search_nodes --query` tool returns graph-aware relevance-ranked results.
|
|
|
300
308
|
4. Nodes should reflect reality (codebase + user statements), not inferences —
|
|
301
309
|
use `assumption` node type for inferences
|
|
302
310
|
5. If the user contradicts something in the graph, update it and add a note
|
|
303
|
-
6. All tool commands must be run from the `product-system/`
|
|
311
|
+
6. All tool commands must be run from the `assistkick-product-system/`
|
|
304
312
|
directory
|
|
305
313
|
7. Set status to `defined` for features clearly implemented in the codebase;
|
|
306
314
|
use `draft` for planned/future work
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: assistkick-code-reviewer
|
|
3
3
|
description: Review implemented features against their specification, coding standards, and test coverage. Use when the user wants to review code, check implementation quality, or validate features before QA.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -11,7 +11,7 @@ in the feature spec has actually been implemented. You pick up features from
|
|
|
11
11
|
the `in_review` column, validate them, and either approve or reject with
|
|
12
12
|
actionable feedback.
|
|
13
13
|
|
|
14
|
-
All tools live in `product-system/packages/shared/tools/` and are run with `npx tsx`.
|
|
14
|
+
All tools live in `assistkick-product-system/packages/shared/tools/` and are run with `npx tsx`.
|
|
15
15
|
|
|
16
16
|
## Session Start Protocol
|
|
17
17
|
1. Call `get_kanban --column in_review` — identify features awaiting review
|
|
@@ -72,14 +72,14 @@ After reviewing, you MUST take exactly one action:
|
|
|
72
72
|
### Approve
|
|
73
73
|
If the feature delivers what was requested and passes all checks:
|
|
74
74
|
```
|
|
75
|
-
npx tsx packages/shared/tools/move_card.ts <feat_id> qa
|
|
75
|
+
npx tsx packages/shared/tools/move_card.ts <feat_id> qa --project-id <project_id>
|
|
76
76
|
```
|
|
77
77
|
Report to the user: what was reviewed, how it integrates with existing features, and that it passed.
|
|
78
78
|
|
|
79
79
|
### Reject
|
|
80
80
|
If any check fails — especially if the feature does not deliver what was requested:
|
|
81
81
|
```
|
|
82
|
-
npx tsx packages/shared/tools/move_card.ts <feat_id> todo --note "Clear description of what needs fixing"
|
|
82
|
+
npx tsx packages/shared/tools/move_card.ts <feat_id> todo --project-id <project_id> --note "Clear description of what needs fixing"
|
|
83
83
|
```
|
|
84
84
|
The note MUST be actionable — reference specific acceptance criteria that are not met,
|
|
85
85
|
specific integration issues with existing features, or specific connected node requirements
|
|
@@ -91,48 +91,56 @@ Your transitions:
|
|
|
91
91
|
- **In Review → QA**: Feature passes review (approve)
|
|
92
92
|
- **In Review → Todo**: Feature fails review (reject with notes)
|
|
93
93
|
|
|
94
|
+
## Project ID
|
|
95
|
+
|
|
96
|
+
All tools require `--project-id <project_id>`. Resolve it at session start:
|
|
97
|
+
- If the user passed a project ID in the invocation arguments → use it directly
|
|
98
|
+
- Otherwise → ask the user: "Which project ID should I use?"
|
|
99
|
+
|
|
100
|
+
Use the same `<project_id>` on **every** tool call in this session.
|
|
101
|
+
|
|
94
102
|
## Tool Reference
|
|
95
103
|
|
|
96
104
|
### get_kanban
|
|
97
105
|
```
|
|
98
|
-
npx tsx packages/shared/tools/get_kanban.ts # show all columns
|
|
99
|
-
npx tsx packages/shared/tools/get_kanban.ts --column in_review # features awaiting review
|
|
100
|
-
npx tsx packages/shared/tools/get_kanban.ts --column done # already shipped features
|
|
106
|
+
npx tsx packages/shared/tools/get_kanban.ts --project-id <project_id> # show all columns
|
|
107
|
+
npx tsx packages/shared/tools/get_kanban.ts --project-id <project_id> --column in_review # features awaiting review
|
|
108
|
+
npx tsx packages/shared/tools/get_kanban.ts --project-id <project_id> --column done # already shipped features
|
|
101
109
|
```
|
|
102
110
|
|
|
103
111
|
### move_card
|
|
104
112
|
```
|
|
105
|
-
npx tsx packages/shared/tools/move_card.ts <feature_id> qa # approve
|
|
106
|
-
npx tsx packages/shared/tools/move_card.ts <feature_id> todo --note "What to fix" # reject
|
|
113
|
+
npx tsx packages/shared/tools/move_card.ts <feature_id> qa --project-id <project_id> # approve
|
|
114
|
+
npx tsx packages/shared/tools/move_card.ts <feature_id> todo --project-id <project_id> --note "What to fix" # reject
|
|
107
115
|
```
|
|
108
116
|
|
|
109
117
|
### get_node
|
|
110
118
|
```
|
|
111
|
-
npx tsx packages/shared/tools/get_node.ts <node_id>
|
|
112
|
-
npx tsx packages/shared/tools/get_node.ts --name "Node Name"
|
|
119
|
+
npx tsx packages/shared/tools/get_node.ts <node_id> --project-id <project_id>
|
|
120
|
+
npx tsx packages/shared/tools/get_node.ts --name "Node Name" --project-id <project_id>
|
|
113
121
|
```
|
|
114
122
|
Returns full .md content plus a Relations section listing all connected nodes with direction, relation type, name, type, and status.
|
|
115
123
|
|
|
116
124
|
### search_nodes
|
|
117
125
|
```
|
|
118
|
-
npx tsx packages/shared/tools/search_nodes.ts --query "keyword"
|
|
119
|
-
npx tsx packages/shared/tools/search_nodes.ts --type feature
|
|
126
|
+
npx tsx packages/shared/tools/search_nodes.ts --project-id <project_id> --query "keyword"
|
|
127
|
+
npx tsx packages/shared/tools/search_nodes.ts --project-id <project_id> --type feature
|
|
120
128
|
```
|
|
121
129
|
|
|
122
130
|
### update_node
|
|
123
131
|
```
|
|
124
|
-
npx tsx packages/shared/tools/update_node.ts <id> --add-note "Review: ..."
|
|
125
|
-
npx tsx packages/shared/tools/update_node.ts <id> --add-open-question "..."
|
|
132
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --add-note "Review: ..."
|
|
133
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --add-open-question "..."
|
|
126
134
|
```
|
|
127
135
|
|
|
128
136
|
### get_gaps
|
|
129
137
|
```
|
|
130
|
-
npx tsx packages/shared/tools/get_gaps.ts
|
|
138
|
+
npx tsx packages/shared/tools/get_gaps.ts --project-id <project_id>
|
|
131
139
|
```
|
|
132
140
|
|
|
133
141
|
### get_status
|
|
134
142
|
```
|
|
135
|
-
npx tsx packages/shared/tools/get_status.ts
|
|
143
|
+
npx tsx packages/shared/tools/get_status.ts --project-id <project_id>
|
|
136
144
|
```
|
|
137
145
|
|
|
138
146
|
## Rules
|
|
@@ -142,6 +150,6 @@ npx tsx packages/shared/tools/get_status.ts
|
|
|
142
150
|
4. Always provide actionable rejection notes — reference specific acceptance criteria, integration issues, or connected node requirements
|
|
143
151
|
5. Never read or write graph.tson, kanban.tson, or node .md files directly — always use the tools
|
|
144
152
|
6. If you find a spec gap during review, add an open question via `update_node` and flag it to the user
|
|
145
|
-
7. All tool commands must be run from the `product-system/` directory
|
|
153
|
+
7. All tool commands must be run from the `assistkick-product-system/` directory
|
|
146
154
|
8. Review one feature at a time — complete the verdict before moving to the next
|
|
147
155
|
9. The `move_card` tool validates transitions — trust the error if a move is rejected
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: assistkick-db-explorer
|
|
3
|
+
description: Explore and inspect the database with read-only access. Use when the user wants to check database contents, inspect table schemas, count rows, sample data, or run read-only SQL queries to understand the current state of the data.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Database Explorer Skill
|
|
7
|
+
|
|
8
|
+
## Your Role
|
|
9
|
+
You are a database inspector. You use the `db_explorer` tool to help the user
|
|
10
|
+
understand the current state of the database — table structures, row counts,
|
|
11
|
+
data samples, and custom read-only queries. You have absolutely NO write
|
|
12
|
+
capabilities. You can only read and inspect.
|
|
13
|
+
|
|
14
|
+
All commands are run from the `assistkick-product-system/` directory.
|
|
15
|
+
|
|
16
|
+
## Tool Reference
|
|
17
|
+
|
|
18
|
+
### List all tables
|
|
19
|
+
```
|
|
20
|
+
npx tsx packages/shared/tools/db_explorer.ts tables
|
|
21
|
+
```
|
|
22
|
+
Shows all tables with row counts.
|
|
23
|
+
|
|
24
|
+
### Describe a table schema
|
|
25
|
+
```
|
|
26
|
+
npx tsx packages/shared/tools/db_explorer.ts describe <table_name>
|
|
27
|
+
```
|
|
28
|
+
Shows columns, types, nullability, defaults, primary keys, indexes, and foreign keys.
|
|
29
|
+
|
|
30
|
+
### Count rows
|
|
31
|
+
```
|
|
32
|
+
npx tsx packages/shared/tools/db_explorer.ts count <table_name>
|
|
33
|
+
npx tsx packages/shared/tools/db_explorer.ts count <table_name> --where "status = 'draft'"
|
|
34
|
+
npx tsx packages/shared/tools/db_explorer.ts count <table_name> --where "project_id = 'proj_001'"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Sample rows
|
|
38
|
+
```
|
|
39
|
+
npx tsx packages/shared/tools/db_explorer.ts sample <table_name>
|
|
40
|
+
npx tsx packages/shared/tools/db_explorer.ts sample <table_name> --limit 5
|
|
41
|
+
npx tsx packages/shared/tools/db_explorer.ts sample <table_name> --where "type = 'feature'" --limit 3
|
|
42
|
+
npx tsx packages/shared/tools/db_explorer.ts sample <table_name> --order-by "created_at DESC" --limit 5
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Run a read-only SQL query
|
|
46
|
+
```
|
|
47
|
+
npx tsx packages/shared/tools/db_explorer.ts query "SELECT id, name, type, status FROM nodes WHERE type = 'feature'"
|
|
48
|
+
npx tsx packages/shared/tools/db_explorer.ts query "SELECT n.id, n.name, k.column_name FROM nodes n JOIN kanban k ON n.id = k.node_id"
|
|
49
|
+
npx tsx packages/shared/tools/db_explorer.ts query "SELECT type, COUNT(*) as cnt FROM nodes GROUP BY type ORDER BY cnt DESC"
|
|
50
|
+
npx tsx packages/shared/tools/db_explorer.ts query "PRAGMA table_info('nodes')"
|
|
51
|
+
```
|
|
52
|
+
Only SELECT, PRAGMA, and EXPLAIN queries are allowed. Write operations are blocked.
|
|
53
|
+
A safety LIMIT of 100 is auto-appended to SELECT queries without an explicit LIMIT.
|
|
54
|
+
|
|
55
|
+
## Available Tables
|
|
56
|
+
|
|
57
|
+
| Table | Description |
|
|
58
|
+
|-------|-------------|
|
|
59
|
+
| `nodes` | Knowledge graph nodes (features, components, decisions, etc.) |
|
|
60
|
+
| `edges` | Relationships between nodes |
|
|
61
|
+
| `kanban` | Feature kanban board state |
|
|
62
|
+
| `sessions` | Interview session history |
|
|
63
|
+
| `coherence_reviews` | Graph change proposals |
|
|
64
|
+
| `review_meta` | Kanban metadata and review state |
|
|
65
|
+
| `users` | User accounts |
|
|
66
|
+
| `refresh_tokens` | JWT refresh tokens |
|
|
67
|
+
| `password_reset_tokens` | Password reset flow |
|
|
68
|
+
| `invitations` | User invitations |
|
|
69
|
+
| `projects` | Project contexts |
|
|
70
|
+
| `pipeline_state` | Pipeline execution state |
|
|
71
|
+
|
|
72
|
+
## Security
|
|
73
|
+
|
|
74
|
+
- Only SELECT, PRAGMA, and EXPLAIN queries are allowed
|
|
75
|
+
- Write keywords (INSERT, UPDATE, DELETE, DROP, ALTER, CREATE, etc.) are blocked
|
|
76
|
+
- Multiple statements (semicolons) are blocked
|
|
77
|
+
- Sensitive columns (`password_hash`, `token_hash`) are automatically redacted as `[REDACTED]`
|
|
78
|
+
- SQL comments are stripped before validation
|
|
79
|
+
|
|
80
|
+
## Rules
|
|
81
|
+
1. Never attempt write operations — the tool will reject them
|
|
82
|
+
2. Use `--where` to filter results rather than dumping entire tables
|
|
83
|
+
3. Use `--limit` to keep output manageable
|
|
84
|
+
4. The `--project-id` flag is optional — use `--where "project_id = '...'"` to filter by project
|
|
85
|
+
5. All tool commands must be run from the `assistkick-product-system/` directory
|
|
86
|
+
6. Start with `tables` to understand what's available, then `describe` to understand structure, then `sample` or `query` to inspect data
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: assistkick-debugger
|
|
3
3
|
description: Debug and investigate bugs reported by the user, find root causes, and create bugfix features with findings. Use when the user reports a bug, wants to investigate an issue, or needs help finding the root cause of a problem.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -12,7 +12,7 @@ the root cause, and create a bugfix feature in the graph with your findings so
|
|
|
12
12
|
the developer knows exactly what to fix. You never write production code — you
|
|
13
13
|
only read code, run tests, and trace issues.
|
|
14
14
|
|
|
15
|
-
All tools live in `product-system/packages/shared/tools/` and are run with `npx tsx`.
|
|
15
|
+
All tools live in `assistkick-product-system/packages/shared/tools/` and are run with `npx tsx`.
|
|
16
16
|
|
|
17
17
|
## Session Start Protocol
|
|
18
18
|
1. Call `get_status` — understand current project state
|
|
@@ -52,7 +52,7 @@ When static code reading isn't enough to identify the root cause, **add temporar
|
|
|
52
52
|
- Never leave debug logs in the codebase
|
|
53
53
|
|
|
54
54
|
### 5. Use Browser Automation to Reproduce and Observe
|
|
55
|
-
Use `agent-browser` (already installed) to interact with the running application in a headless browser. See `.claude/skills/
|
|
55
|
+
Use `agent-browser` (already installed) to interact with the running application in a headless browser. See `.claude/skills/assistkick-debugger/references/agent-browser.md` for the full command reference.
|
|
56
56
|
|
|
57
57
|
**Core workflow:**
|
|
58
58
|
```bash
|
|
@@ -104,17 +104,17 @@ Once you've found the root cause, create a bugfix feature:
|
|
|
104
104
|
|
|
105
105
|
1. **Create the bugfix feature** with a clear description of the problem and root cause:
|
|
106
106
|
```
|
|
107
|
-
npx tsx packages/shared/tools/add_node.ts --type feature --kind bugfix --name "Fix: <short description>" --description "Root cause description..."
|
|
107
|
+
npx tsx packages/shared/tools/add_node.ts --project-id <project_id> --type feature --kind bugfix --name "Fix: <short description>" --description "Root cause description..."
|
|
108
108
|
```
|
|
109
109
|
|
|
110
110
|
2. **Add acceptance criteria** that describe the correct behavior:
|
|
111
111
|
```
|
|
112
|
-
npx tsx packages/shared/tools/update_node.ts <new_feat_id> --add-acceptance-criteria "..."
|
|
112
|
+
npx tsx packages/shared/tools/update_node.ts <new_feat_id> --project-id <project_id> --add-acceptance-criteria "..."
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
3. **Add investigation notes** with root cause details, code locations, and fix guidance:
|
|
116
116
|
```
|
|
117
|
-
npx tsx packages/shared/tools/update_node.ts <new_feat_id> --add-note "Investigation: ..."
|
|
117
|
+
npx tsx packages/shared/tools/update_node.ts <new_feat_id> --project-id <project_id> --add-note "Investigation: ..."
|
|
118
118
|
```
|
|
119
119
|
The note should include:
|
|
120
120
|
- Reproduction steps
|
|
@@ -124,71 +124,79 @@ The note should include:
|
|
|
124
124
|
|
|
125
125
|
4. **Link the bugfix** to the affected feature(s):
|
|
126
126
|
```
|
|
127
|
-
npx tsx packages/shared/tools/add_edge.ts <new_feat_id> relates_to <affected_feat_id>
|
|
127
|
+
npx tsx packages/shared/tools/add_edge.ts <new_feat_id> relates_to <affected_feat_id> --project-id <project_id>
|
|
128
128
|
```
|
|
129
129
|
|
|
130
130
|
5. **Report findings** to the user with a summary of the root cause and the bugfix feature ID
|
|
131
131
|
|
|
132
|
+
## Project ID
|
|
133
|
+
|
|
134
|
+
All tools require `--project-id <project_id>`. Resolve it at session start:
|
|
135
|
+
- If the user passed a project ID in the invocation arguments → use it directly
|
|
136
|
+
- Otherwise → ask the user: "Which project ID should I use?"
|
|
137
|
+
|
|
138
|
+
Use the same `<project_id>` on **every** tool call in this session.
|
|
139
|
+
|
|
132
140
|
## Tool Reference
|
|
133
141
|
|
|
134
142
|
### get_kanban
|
|
135
143
|
```
|
|
136
|
-
npx tsx packages/shared/tools/get_kanban.ts # show all columns
|
|
137
|
-
npx tsx packages/shared/tools/get_kanban.ts --column qa # features in QA
|
|
138
|
-
npx tsx packages/shared/tools/get_kanban.ts --column done # shipped features
|
|
144
|
+
npx tsx packages/shared/tools/get_kanban.ts --project-id <project_id> # show all columns
|
|
145
|
+
npx tsx packages/shared/tools/get_kanban.ts --project-id <project_id> --column qa # features in QA
|
|
146
|
+
npx tsx packages/shared/tools/get_kanban.ts --project-id <project_id> --column done # shipped features
|
|
139
147
|
```
|
|
140
148
|
|
|
141
149
|
### move_card
|
|
142
150
|
```
|
|
143
|
-
npx tsx packages/shared/tools/move_card.ts <feature_id> todo --note "Bug found — see feat_NNN for details"
|
|
151
|
+
npx tsx packages/shared/tools/move_card.ts <feature_id> todo --project-id <project_id> --note "Bug found — see feat_NNN for details"
|
|
144
152
|
```
|
|
145
153
|
|
|
146
154
|
### get_node
|
|
147
155
|
```
|
|
148
|
-
npx tsx packages/shared/tools/get_node.ts <node_id>
|
|
149
|
-
npx tsx packages/shared/tools/get_node.ts --name "Node Name"
|
|
156
|
+
npx tsx packages/shared/tools/get_node.ts <node_id> --project-id <project_id>
|
|
157
|
+
npx tsx packages/shared/tools/get_node.ts --name "Node Name" --project-id <project_id>
|
|
150
158
|
```
|
|
151
159
|
Returns full .md content plus a Relations section listing all connected nodes with direction, relation type, name, type, and status.
|
|
152
160
|
|
|
153
161
|
### search_nodes
|
|
154
162
|
```
|
|
155
|
-
npx tsx packages/shared/tools/search_nodes.ts --query "keyword"
|
|
156
|
-
npx tsx packages/shared/tools/search_nodes.ts --type feature
|
|
157
|
-
npx tsx packages/shared/tools/search_nodes.ts --has-open-questions
|
|
163
|
+
npx tsx packages/shared/tools/search_nodes.ts --project-id <project_id> --query "keyword"
|
|
164
|
+
npx tsx packages/shared/tools/search_nodes.ts --project-id <project_id> --type feature
|
|
165
|
+
npx tsx packages/shared/tools/search_nodes.ts --project-id <project_id> --has-open-questions
|
|
158
166
|
```
|
|
159
167
|
|
|
160
168
|
### add_node
|
|
161
169
|
```
|
|
162
|
-
npx tsx packages/shared/tools/add_node.ts --type feature --kind bugfix --name "Fix: ..." --description "..."
|
|
170
|
+
npx tsx packages/shared/tools/add_node.ts --project-id <project_id> --type feature --kind bugfix --name "Fix: ..." --description "..."
|
|
163
171
|
```
|
|
164
172
|
Use `--kind bugfix` when creating bug features.
|
|
165
173
|
|
|
166
174
|
### update_node
|
|
167
175
|
```
|
|
168
|
-
npx tsx packages/shared/tools/update_node.ts <id> --add-acceptance-criteria "..."
|
|
169
|
-
npx tsx packages/shared/tools/update_node.ts <id> --add-open-question "..."
|
|
170
|
-
npx tsx packages/shared/tools/update_node.ts <id> --add-note "Investigation: ..."
|
|
171
|
-
npx tsx packages/shared/tools/update_node.ts <id> --set-description "..."
|
|
176
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --add-acceptance-criteria "..."
|
|
177
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --add-open-question "..."
|
|
178
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --add-note "Investigation: ..."
|
|
179
|
+
npx tsx packages/shared/tools/update_node.ts <id> --project-id <project_id> --set-description "..."
|
|
172
180
|
```
|
|
173
181
|
|
|
174
182
|
### add_edge
|
|
175
183
|
```
|
|
176
|
-
npx tsx packages/shared/tools/add_edge.ts <from_id> <relation> <to_id>
|
|
184
|
+
npx tsx packages/shared/tools/add_edge.ts <from_id> <relation> <to_id> --project-id <project_id>
|
|
177
185
|
```
|
|
178
186
|
|
|
179
187
|
### resolve_question
|
|
180
188
|
```
|
|
181
|
-
npx tsx packages/shared/tools/resolve_question.ts <id> --question "..." --answer "..."
|
|
189
|
+
npx tsx packages/shared/tools/resolve_question.ts <id> --project-id <project_id> --question "..." --answer "..."
|
|
182
190
|
```
|
|
183
191
|
|
|
184
192
|
### get_gaps
|
|
185
193
|
```
|
|
186
|
-
npx tsx packages/shared/tools/get_gaps.ts
|
|
194
|
+
npx tsx packages/shared/tools/get_gaps.ts --project-id <project_id>
|
|
187
195
|
```
|
|
188
196
|
|
|
189
197
|
### get_status
|
|
190
198
|
```
|
|
191
|
-
npx tsx packages/shared/tools/get_status.ts
|
|
199
|
+
npx tsx packages/shared/tools/get_status.ts --project-id <project_id>
|
|
192
200
|
```
|
|
193
201
|
|
|
194
202
|
## Rules
|
|
@@ -198,9 +206,9 @@ npx tsx packages/shared/tools/get_status.ts
|
|
|
198
206
|
4. Always create a bugfix feature with detailed findings — the developer should be able to fix it without re-investigating
|
|
199
207
|
5. Include specific file paths, line numbers, root cause analysis, and fix guidance in your bugfix notes
|
|
200
208
|
6. Always link bugfix features to the affected feature(s) via `add_edge`
|
|
201
|
-
7. All tool commands must be run from the `product-system/` directory
|
|
209
|
+
7. All tool commands must be run from the `assistkick-product-system/` directory
|
|
202
210
|
8. The `move_card` tool validates transitions — trust the error if a move is rejected
|
|
203
211
|
9. If the bug reveals a spec gap, add an open question via `update_node` on the affected feature and flag it to the user
|
|
204
212
|
10. Investigate one bug at a time — complete the investigation before moving to the next
|
|
205
213
|
11. Always remove any temporary debug logs you added before filing the bugfix feature — never leave debug code in the codebase
|
|
206
|
-
12. Use `agent-browser` for browser-based investigation — see `.claude/skills/
|
|
214
|
+
12. Use `agent-browser` for browser-based investigation — see `.claude/skills/assistkick-debugger/references/agent-browser.md` for the full command reference, our app is available at http://localhost:5173
|