@witty-ai/skill-insight 0.5.0-beta → 0.6.0-beta
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/.env.example +5 -0
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +4 -0
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/routes-manifest.json +24 -0
- package/.next/standalone/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/config/route.js +3 -3
- package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/route.js +3 -3
- package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/otel/v1/logs/route.js +3 -3
- package/.next/standalone/.next/server/app/api/otel/v1/logs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/otel/v1/traces/route.js +1 -1
- package/.next/standalone/.next/server/app/api/otel/v1/traces/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js +4 -4
- package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/rejudge/route.js +3 -3
- package/.next/standalone/.next/server/app/api/rejudge/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/session/route.js +1 -1
- package/.next/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route.js +6 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-commands/si-optimizer/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route.js +6 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/setup/opencode-tui/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js +3 -2
- package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/automation/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/logs/route.js +2 -2
- package/.next/standalone/.next/server/app/api/skills/logs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/route.js +3 -2
- package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js +8 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/task-stats/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/task-stats/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/task-stats/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/task-stats/route.js +11 -0
- package/.next/standalone/.next/server/app/api/task-stats/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/task-stats/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/task-stats/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/upload/route.js +1 -1
- package/.next/standalone/.next/server/app/api/upload/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/details/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/details/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/details.html +1 -1
- package/.next/standalone/.next/server/app/details.rsc +2 -2
- package/.next/standalone/.next/server/app/details.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/details.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/details.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/details.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/details.segments/details/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/details.segments/details.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/skills.html +1 -1
- package/.next/standalone/.next/server/app/skills.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +4 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__15dbd1f2._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ce5e3b8._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__53775b48._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6923eecf._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6d8053e2._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8402dfd1._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__863cf6de._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__89404730._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__aa5c8858._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c20da96a._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ddf63a21._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__f9e66e02._.js +3 -0
- package/.next/standalone/.next/server/chunks/_3e8b4d8c._.js +1 -1
- package/.next/standalone/.next/server/chunks/_41a98bd8._.js +1 -1
- package/.next/standalone/.next/server/chunks/_4c806e26._.js +3 -0
- package/.next/standalone/.next/server/chunks/_cd3d20ca._.js +1 -1
- package/.next/standalone/.next/server/chunks/_ddffef3e._.js +1 -1
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_setup_opencode-tui_route_actions_fc8ae29f.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_skills_sync-enterprise_route_actions_0ca45899.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_task-stats_route_actions_983505cd.js +3 -0
- package/.next/standalone/.next/server/chunks/ce889_server_app_api_setup_opencode-commands_si-optimizer_route_actions_fcde30ef.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_c33286ed.js +47 -4
- package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_f42faeee.js +1 -1
- package/.next/standalone/.next/server/chunks/src_98433cb8._.js +175 -0
- package/.next/standalone/.next/server/chunks/src_lib_12408140._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_c8c8c083._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_fd46f439._.js +2 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_dagre-d3-es_src_dagre_index_3582f3d0.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_lodash-es_a1341fea._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_lodash-es_e1de6ed8._.js +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/{01eddf501c574a44.js → 4ee8dc41c9f15b7b.js} +1 -1
- package/.next/standalone/.next/static/chunks/{737b8cff3c6a4e30.js → 9445b2873a413c58.js} +1 -1
- package/.next/standalone/.next/static/chunks/94dfb15df65ef720.js +2 -0
- package/.next/standalone/.next/static/chunks/9d1c5c3494fa53de.js +109 -0
- package/.next/standalone/.next/static/chunks/{e09d9ee16fe90255.js → cd0fde15dc0dfcca.js} +1 -1
- package/.next/standalone/.next/static/chunks/{ff6357067630b168.js → e13d208072a48316.js} +1 -1
- package/.next/standalone/node_modules/.prisma/client/edge.js +6 -3
- package/.next/standalone/node_modules/.prisma/client/index-browser.js +3 -0
- package/.next/standalone/node_modules/.prisma/client/index.js +6 -3
- package/.next/standalone/node_modules/.prisma/client/package.json +1 -1
- package/.next/standalone/node_modules/.prisma/client/schema.prisma +12 -9
- package/.next/standalone/node_modules/.prisma/client/wasm.js +3 -0
- package/.next/standalone/node_modules/adm-zip/util/constants.js +142 -0
- package/.next/standalone/node_modules/adm-zip/util/decoder.js +5 -0
- package/.next/standalone/node_modules/adm-zip/util/errors.js +63 -0
- package/.next/standalone/node_modules/adm-zip/util/fattr.js +76 -0
- package/.next/standalone/node_modules/adm-zip/util/index.js +5 -0
- package/.next/standalone/node_modules/adm-zip/util/utils.js +339 -0
- package/.next/standalone/package.json +6 -2
- package/.next/standalone/prisma/schema.prisma +3 -0
- package/.next/standalone/scripts/opencode_plugin.ts +23 -5
- package/.next/standalone/scripts/opencode_tui_plugin.tsx +308 -0
- package/.next/standalone/scripts/si-optimizer.md +5 -0
- package/.next/static/chunks/{01eddf501c574a44.js → 4ee8dc41c9f15b7b.js} +1 -1
- package/.next/static/chunks/{737b8cff3c6a4e30.js → 9445b2873a413c58.js} +1 -1
- package/.next/static/chunks/94dfb15df65ef720.js +2 -0
- package/.next/static/chunks/9d1c5c3494fa53de.js +109 -0
- package/.next/static/chunks/{e09d9ee16fe90255.js → cd0fde15dc0dfcca.js} +1 -1
- package/.next/static/chunks/{ff6357067630b168.js → e13d208072a48316.js} +1 -1
- package/package.json +6 -2
- package/prisma/schema.prisma +3 -0
- package/scripts/activate_telemetry.sh +44 -1
- package/scripts/opencode_plugin.ts +23 -5
- package/scripts/opencode_tui_plugin.tsx +308 -0
- package/scripts/si-optimizer.md +5 -0
- package/scripts/utils.js +0 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e2f0baee._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__fc05579d._.js +0 -3
- package/.next/standalone/.next/server/chunks/src_497d2ad2._.js +0 -175
- package/.next/standalone/.next/static/chunks/4071dbec4cf7e72e.js +0 -109
- package/.next/standalone/.next/static/chunks/a87b5e84254095a5.js +0 -1
- package/.next/standalone/LICENSE +0 -21
- package/.next/standalone/bin/cli.js +0 -106
- package/.next/standalone/custom-models.example.json +0 -21
- package/.next/standalone/eslint.config.mjs +0 -18
- package/.next/standalone/features/feature-skill-used-jump-link/design/2026-03-18-skill-used-jump-link-design.md +0 -126
- package/.next/standalone/features/feature-skill-used-jump-link/feature.json +0 -32
- package/.next/standalone/features/feature-skill-used-jump-link/issue.md +0 -32
- package/.next/standalone/features/feature-skill-used-jump-link/plans/2026-03-18-skill-used-jump-link.md +0 -528
- package/.next/standalone/next.config.ts +0 -41
- package/.next/standalone/scripts/activate_telemetry.sh +0 -159
- package/.next/standalone/scripts/create_migration_package.sh +0 -124
- package/.next/standalone/scripts/fix_models.js +0 -66
- package/.next/standalone/scripts/init_opengauss.py +0 -284
- package/.next/standalone/scripts/install.js +0 -273
- package/.next/standalone/scripts/logs.js +0 -38
- package/.next/standalone/scripts/otel_data/logs.jsonl +0 -12
- package/.next/standalone/scripts/otel_data/metrics.jsonl +0 -21
- package/.next/standalone/scripts/otel_data/raw_requests.jsonl +0 -8
- package/.next/standalone/scripts/otel_data/raw_requests.jsonl.bak +0 -6
- package/.next/standalone/scripts/otel_receiver.py +0 -580
- package/.next/standalone/scripts/postinstall.js +0 -192
- package/.next/standalone/scripts/publish-npm.js +0 -401
- package/.next/standalone/scripts/restart.js +0 -26
- package/.next/standalone/scripts/restart.sh +0 -138
- package/.next/standalone/scripts/restart_dev.sh +0 -132
- package/.next/standalone/scripts/start.js +0 -291
- package/.next/standalone/scripts/status.js +0 -41
- package/.next/standalone/scripts/stop.js +0 -90
- package/.next/standalone/scripts/sync_skills.js +0 -216
- package/.next/standalone/scripts/utils.js +0 -235
- package/.next/standalone/tests/setup_skill_optimizer.sh +0 -118
- package/.next/standalone/tsconfig.json +0 -34
- package/.next/static/chunks/4071dbec4cf7e72e.js +0 -109
- package/.next/static/chunks/a87b5e84254095a5.js +0 -1
- /package/.next/standalone/.next/static/{H581Rok68JtPV4bAVVH3l → 0uvhCJooDO_gMNlKOaHwB}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{H581Rok68JtPV4bAVVH3l → 0uvhCJooDO_gMNlKOaHwB}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/.next/static/{H581Rok68JtPV4bAVVH3l → 0uvhCJooDO_gMNlKOaHwB}/_ssgManifest.js +0 -0
- /package/.next/static/{H581Rok68JtPV4bAVVH3l → 0uvhCJooDO_gMNlKOaHwB}/_buildManifest.js +0 -0
- /package/.next/static/{H581Rok68JtPV4bAVVH3l → 0uvhCJooDO_gMNlKOaHwB}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{H581Rok68JtPV4bAVVH3l → 0uvhCJooDO_gMNlKOaHwB}/_ssgManifest.js +0 -0
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { defineConfig, globalIgnores } from "eslint/config";
|
|
2
|
-
import nextVitals from "eslint-config-next/core-web-vitals";
|
|
3
|
-
import nextTs from "eslint-config-next/typescript";
|
|
4
|
-
|
|
5
|
-
const eslintConfig = defineConfig([
|
|
6
|
-
...nextVitals,
|
|
7
|
-
...nextTs,
|
|
8
|
-
// Override default ignores of eslint-config-next.
|
|
9
|
-
globalIgnores([
|
|
10
|
-
// Default ignores of eslint-config-next:
|
|
11
|
-
".next/**",
|
|
12
|
-
"out/**",
|
|
13
|
-
"build/**",
|
|
14
|
-
"next-env.d.ts",
|
|
15
|
-
]),
|
|
16
|
-
]);
|
|
17
|
-
|
|
18
|
-
export default eslintConfig;
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
# Design: Skill Used Jump Link Feature
|
|
2
|
-
|
|
3
|
-
**Issue**: #52
|
|
4
|
-
**Date**: 2026-03-18
|
|
5
|
-
**Status**: Design Approved
|
|
6
|
-
|
|
7
|
-
## Overview
|
|
8
|
-
|
|
9
|
-
Add click-to-navigate functionality to the "skill used" field in execution records, allowing users to click skill names and navigate to a dedicated skill detail page.
|
|
10
|
-
|
|
11
|
-
## Requirements
|
|
12
|
-
|
|
13
|
-
1. Clickable skill names in execution records
|
|
14
|
-
2. Visual link styling (color, underline, hover effects)
|
|
15
|
-
3. Navigate to skill detail page with specific version
|
|
16
|
-
4. Support multiple skills in one record
|
|
17
|
-
5. Graceful error handling for deleted/non-existent skills
|
|
18
|
-
|
|
19
|
-
## Architecture
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
Execution Records (details/page.tsx)
|
|
23
|
-
│
|
|
24
|
-
│ click skill name
|
|
25
|
-
▼
|
|
26
|
-
/skills/[id]?version=[version] ← New Page
|
|
27
|
-
│
|
|
28
|
-
▼
|
|
29
|
-
SkillDetailPage
|
|
30
|
-
- Skill metadata (name, description, version)
|
|
31
|
-
- Flow diagram (Mermaid)
|
|
32
|
-
- Back navigation
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Components
|
|
36
|
-
|
|
37
|
-
### 1. SkillLink Component
|
|
38
|
-
|
|
39
|
-
**Path**: `/src/components/SkillLink.tsx`
|
|
40
|
-
|
|
41
|
-
```typescript
|
|
42
|
-
interface SkillLinkProps {
|
|
43
|
-
skillId: string | null | undefined;
|
|
44
|
-
skillName: string;
|
|
45
|
-
version?: string | number;
|
|
46
|
-
}
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
**Features**:
|
|
50
|
-
- Styled as clickable link (blue color, underline on hover)
|
|
51
|
-
- Navigates to `/skills/{skillId}?version={version}`
|
|
52
|
-
- Falls back to plain text if skillId missing
|
|
53
|
-
- Shows tooltip for missing skillId
|
|
54
|
-
|
|
55
|
-
### 2. Skill Detail Page
|
|
56
|
-
|
|
57
|
-
**Path**: `/src/app/skills/[id]/page.tsx`
|
|
58
|
-
|
|
59
|
-
**Features**:
|
|
60
|
-
- Fetches skill via `GET /api/skills/{id}/versions/{version}`
|
|
61
|
-
- Displays: skill name, description, version, flow diagram
|
|
62
|
-
- Uses existing SkillVersionDetailModal content as reference
|
|
63
|
-
- Back navigation button
|
|
64
|
-
- Error state for skill not found
|
|
65
|
-
|
|
66
|
-
### 3. Modified Files
|
|
67
|
-
|
|
68
|
-
| File | Changes |
|
|
69
|
-
|------|---------|
|
|
70
|
-
| `src/app/details/page.tsx` | Replace skill used text with SkillLink components |
|
|
71
|
-
| `src/components/Dashboard.tsx` | Add SkillLink if skills shown in list view |
|
|
72
|
-
|
|
73
|
-
## URL Format
|
|
74
|
-
|
|
75
|
-
```
|
|
76
|
-
/skills/{skillId}?version={versionNumber}
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
Examples:
|
|
80
|
-
- `/skills/skill_my-skill_12345?version=1`
|
|
81
|
-
- `/skills/skill_my-skill_12345` (no version = latest)
|
|
82
|
-
|
|
83
|
-
## Error Handling
|
|
84
|
-
|
|
85
|
-
| Scenario | Behavior |
|
|
86
|
-
|----------|----------|
|
|
87
|
-
| Skill deleted | Show "Skill not found" page with back button |
|
|
88
|
-
| Invalid version | Fall back to latest version |
|
|
89
|
-
| Missing skillId | Render plain text with tooltip |
|
|
90
|
-
| API error | Show error message with retry option |
|
|
91
|
-
|
|
92
|
-
## Data Flow
|
|
93
|
-
|
|
94
|
-
1. User views execution record with skill used field
|
|
95
|
-
2. SkillName rendered as `<SkillLink>` component
|
|
96
|
-
3. User clicks skill name
|
|
97
|
-
4. Navigate to `/skills/[id]?version=[version]`
|
|
98
|
-
5. Page fetches skill data via API
|
|
99
|
-
6. Display skill details with flow diagram
|
|
100
|
-
|
|
101
|
-
## Testing Strategy
|
|
102
|
-
|
|
103
|
-
### Unit Tests
|
|
104
|
-
- SkillLink component rendering
|
|
105
|
-
- Navigation URL generation
|
|
106
|
-
- Error state handling
|
|
107
|
-
|
|
108
|
-
### Integration Tests
|
|
109
|
-
- Click skill → navigate to detail page
|
|
110
|
-
- Skill detail page data fetching
|
|
111
|
-
- Error scenarios (deleted skill, invalid version)
|
|
112
|
-
|
|
113
|
-
### Manual Tests
|
|
114
|
-
- Visual styling verification
|
|
115
|
-
- Multiple skills display
|
|
116
|
-
- Back navigation
|
|
117
|
-
|
|
118
|
-
## Implementation Tasks
|
|
119
|
-
|
|
120
|
-
1. Create SkillLink component
|
|
121
|
-
2. Create skill detail page route
|
|
122
|
-
3. Create skill detail page component
|
|
123
|
-
4. Modify details page to use SkillLink
|
|
124
|
-
5. Add error handling
|
|
125
|
-
6. Write tests
|
|
126
|
-
7. Verify all acceptance criteria
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "skill-used-jump-link",
|
|
3
|
-
"title": "执行记录中skill used增加跳转功能",
|
|
4
|
-
"status": "completed",
|
|
5
|
-
"claimedBy": "gongxh13",
|
|
6
|
-
"claimedAt": "2026-03-18T08:50:00Z",
|
|
7
|
-
"completedAt": "2026-03-18T09:30:00Z",
|
|
8
|
-
"worktree": {
|
|
9
|
-
"path": "",
|
|
10
|
-
"enabled": false
|
|
11
|
-
},
|
|
12
|
-
"platformIssue": {
|
|
13
|
-
"id": 52,
|
|
14
|
-
"web_url": "https://atomgit.com/openeuler/witty-skill-insight/issues/52",
|
|
15
|
-
"title": "【feature】执行记录中skill used增加跳转功能",
|
|
16
|
-
"state": "open"
|
|
17
|
-
},
|
|
18
|
-
"documentation": {
|
|
19
|
-
"requirements": [],
|
|
20
|
-
"design": [],
|
|
21
|
-
"tests": [],
|
|
22
|
-
"pr": [
|
|
23
|
-
{
|
|
24
|
-
"title": "Pull Request #38",
|
|
25
|
-
"url": "https://atomgit.com/openeuler/witty-skill-insight/merge_requests/38",
|
|
26
|
-
"createdAt": "2026-03-18T09:30:00Z"
|
|
27
|
-
}
|
|
28
|
-
],
|
|
29
|
-
"deployment": [],
|
|
30
|
-
"notes": ""
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
#52: 【feature】执行记录中skill used增加跳转功能
|
|
2
|
-
状态: open | 创建: 2026-03-10 | 更新: 2026-03-13
|
|
3
|
-
标签: sig/sig-intelligence
|
|
4
|
-
链接: https://atomgit.com/openeuler/witty-skill-insight/issues/52
|
|
5
|
-
|
|
6
|
-
--- Issue Content ---
|
|
7
|
-
**1、背景与价值**
|
|
8
|
-
在Witty-Skill-Insight平台中,执行记录中的skill used字段当前仅以字符串形式显示,展示实际执行过程中使用的skill名称。用户无法直接从执行记录跳转到对应的skill详情页面查看skill的完整信息。增加跳转功能可以让用户快速查看skill详情,提升使用体验和操作效率。
|
|
9
|
-
|
|
10
|
-
**2、需求详情**
|
|
11
|
-
- 跳转功能:在执行记录的skill used字段上增加点击跳转功能
|
|
12
|
-
- 跳转目标:点击skill名字后跳转到对应的skill详情页面
|
|
13
|
-
- 视觉提示:将skill used字符串改为可点击的链接样式,添加适当的视觉提示(如颜色、下划线、hover效果)
|
|
14
|
-
- 保持显示:跳转功能不改变skill used的显示内容,仍然显示实际执行的skill名称
|
|
15
|
-
- 多skill支持:如果执行记录中有多个skill,每个skill都应该支持跳转
|
|
16
|
-
- 错误处理:如果skill不存在或已被删除,提供友好的错误提示
|
|
17
|
-
|
|
18
|
-
**3、验收标准**
|
|
19
|
-
一:跳转功能正常
|
|
20
|
-
点击skill used字段中的skill名称能够正确跳转到对应的skill详情页面。
|
|
21
|
-
|
|
22
|
-
二:视觉提示清晰
|
|
23
|
-
skill名称有明显的可点击样式提示,用户能够识别这是可跳转的链接。
|
|
24
|
-
|
|
25
|
-
三:显示内容不变
|
|
26
|
-
跳转功能不改变skill used字段的显示内容,仍然显示实际执行的skill名称。
|
|
27
|
-
|
|
28
|
-
四:多skill支持
|
|
29
|
-
如果执行记录中有多个skill,每个skill都能正确跳转到对应的详情页面。
|
|
30
|
-
|
|
31
|
-
五:错误处理友好
|
|
32
|
-
当skill不存在或已被删除时,能够提供友好的错误提示。
|